package com.sztx.pay.center.core.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.sztx.pay.center.core.service.RiskTradeTypeService;
import com.sztx.pay.center.dataaccess.dao.mysql.RiskTradeTypeMysqlDAO;
import com.sztx.pay.center.dataaccess.dao.redis.RiskTradeTypeRedisDAO;
import com.sztx.pay.center.dataaccess.domain.RiskTradeTypeDO;
import com.sztx.se.common.util.StringUtil;
import com.sztx.se.core.service.impl.BaseServiceImpl;

@Service
public class RiskTradeTypeServiceImpl extends BaseServiceImpl implements RiskTradeTypeService {

	@Autowired
	private RiskTradeTypeRedisDAO riskTradeTypeRedisDAO;
	
	@Autowired
	private RiskTradeTypeMysqlDAO riskTradeTypeMysqlDAO;
	
	@Override
	public RiskTradeTypeDO getRiskTradeTypeDOById(String tradeTypeId) {
		if (StringUtil.isBlank(tradeTypeId)) {
			return new RiskTradeTypeDO();
		}
		RiskTradeTypeDO riskTradeTypeDO = riskTradeTypeRedisDAO.getRiskTradeTypeDO(tradeTypeId);
		if (riskTradeTypeDO == null) {
			List<RiskTradeTypeDO> riskTradeTypeDOs = riskTradeTypeMysqlDAO.findAllBussinessType(new RiskTradeTypeDO(), null);
			riskTradeTypeRedisDAO.invalidation();
			riskTradeTypeRedisDAO.saveRiskTradeTypeDO(riskTradeTypeDOs);
		}
		return riskTradeTypeRedisDAO.getRiskTradeTypeDO(tradeTypeId);
	}

}
